// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name:   ListaActividadesPendientes.java
package wasolicitudesfiec.general;

import web.util.Constantes;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.rave.web.ui.component.*;
import entidad.Persona;
import entidad.apertura.Solicitudaperturapostgrado;
import entidad.apertura.Solicitudaperturatopico;
import entidad.ayudantias.Solicitudayudantia;
import entidad.ayudantias.Solicitudserayudante;
import entidad.ayudantias.TipoAyudantia;
import entidad.cambioCarrera.Solicitudcambiocarrera;
import entidad.convalidacionMateria.Solicitudconvalidacionmateria;
import hero.interfaces.BnNodeValue;
import hero.interfaces.ProjectSession;
import hero.interfaces.UserSession;
import hero.util.HeroException;
import java.rmi.RemoteException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.FacesException;
import javax.faces.application.FacesMessage;
import javax.faces.convert.DateTimeConverter;
import javax.faces.event.ValueChangeEvent;
import wasolicitudesfiec.*;
import wasolicitudesfiec.general.Dp_ActividadesPendientes;
import wasolicitudesfiec.logicacontrol.*;
import wasolicitudesfiec.plantillas.PanelIzquierdo;
import wasolicitudesfiec.registros.Rg_ActividadesPendientes;

public class ListaActividadesPendientes extends AbstractPageBean {

    private Logica logica;

    private void _init()
            throws Exception {
        dateTimeConverter1.setTimeZone(null);
        dateTimeConverter1.setPattern("dd/MM/yyyy H:mm");
        dateTimeConverter1.setLocale(new java.util.Locale("es", "EC", ""));
    }

    public Page getPage1() {
        return page1;
    }

    public void setPage1(Page p) {
        page1 = p;
    }

    public Html getHtml1() {
        return html1;
    }

    public void setHtml1(Html h) {
        html1 = h;
    }

    public Head getHead1() {
        return head1;
    }

    public void setHead1(Head h) {
        head1 = h;
    }

    public Link getLink1() {
        return link1;
    }

    public void setLink1(Link l) {
        link1 = l;
    }

    public Body getBody1() {
        return body1;
    }

    public void setBody1(Body b) {
        body1 = b;
    }

    public Form getForm1() {
        return form1;
    }

    public void setForm1(Form f) {
        form1 = f;
    }

    public Table getTable1() {
        return table1;
    }

    public void setTable1(Table t) {
        table1 = t;
    }

    public TableRowGroup getTableRowGroup1() {
        return tableRowGroup1;
    }

    public void setTableRowGroup1(TableRowGroup trg) {
        tableRowGroup1 = trg;
    }

    public TableColumn getTableColumn2() {
        return tableColumn2;
    }

    public void setTableColumn2(TableColumn tc) {
        tableColumn2 = tc;
    }

    public TableColumn getTableColumn3() {
        return tableColumn3;
    }

    public void setTableColumn3(TableColumn tc) {
        tableColumn3 = tc;
    }

    public StaticText getStaticText7() {
        return staticText7;
    }

    public void setStaticText7(StaticText st) {
        staticText7 = st;
    }

    public Hyperlink getHyperlink1() {
        return hyperlink1;
    }

    public void setHyperlink1(Hyperlink h) {
        hyperlink1 = h;
    }

    public DateTimeConverter getDateTimeConverter1() {
        return dateTimeConverter1;
    }

    public void setDateTimeConverter1(DateTimeConverter dtc) {
        dateTimeConverter1 = dtc;
    }
    private TableColumn tableColumn4 = new TableColumn();

    public TableColumn getTableColumn4() {
        return tableColumn4;
    }

    public void setTableColumn4(TableColumn tc) {
        this.tableColumn4 = tc;
    }
    private StaticText staticText1 = new StaticText();

    public StaticText getStaticText1() {
        return staticText1;
    }

    public void setStaticText1(StaticText st) {
        this.staticText1 = st;
    }

    public Menu getMenu() {
        return (Menu) getBean("SolicitudesFIEC$Menu");
    }

    public ListaActividadesPendientes() {
        dp_actividadesPendientes = new Dp_ActividadesPendientes();
        page1 = new Page();
        html1 = new Html();
        head1 = new Head();
        link1 = new Link();
        body1 = new Body();
        form1 = new Form();
        table1 = new Table();
        tableRowGroup1 = new TableRowGroup();
//	tableColumn1 = new TableColumn();
//	staticText5 = new StaticText();
        tableColumn2 = new TableColumn();
        tableColumn3 = new TableColumn();
        staticText7 = new StaticText();
        hyperlink1 = new Hyperlink();
        dateTimeConverter1 = new DateTimeConverter();

        String idModelo = (String) this.getExternalContext().getRequestParameterMap().get("idModelo");
        String versionModelo = (String) this.getExternalContext().getRequestParameterMap().get("version");
        if ((idModelo != null) && (versionModelo != null)) {
            this.getExternalContext().getSessionMap().put("idModelo", idModelo);
            this.getExternalContext().getSessionMap().put("version", versionModelo);

        }
    }

    @Override
    public void init() {
        super.init();
        try {
            _init();
        } catch (Exception e) {
            log("ListaSolicitudesAyudantes Initialization Failure", e);
            throw (e instanceof FacesException) ? (FacesException) e : new FacesException(e);
        }
        String idModelo = (String) this.getExternalContext().getSessionMap().get("idModelo");
        String versionModelo = (String) this.getExternalContext().getSessionMap().get("version");
        getMenu().setTitulo(idModelo);
        logica = new Logica();
        ProjectSession projectSession = logica.getProjectSession();
        UserSession userSession = logica.getUserSession();
        FacesMessage message;

        ArrayList listaRgActividades = new ArrayList();
        try {
            boolean error = false;
            if (idModelo != null && versionModelo != null) {
                if (!projectSession.existingProject(idModelo, versionModelo)) {
                    message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "No existe el trámite", "-> No existe la solicitud: " + idModelo + " versión: " + versionModelo);
                    getFacesContext().addMessage(null, message);
                    error = true;
                }
            } else {
                message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "No especificó el trámite", "-> Solicitud: " + idModelo + " versión: " + versionModelo);
                getFacesContext().addMessage(null, message);
                error = true;
            }

            if (!error) {
                ArrayList listaActividadesPendientes = logica.leerActividadesPendientes(idModelo, versionModelo, userSession, projectSession);
                Rg_ActividadesPendientes regActividad = null;
                for (Object object : listaActividadesPendientes) {
                    BnNodeValue actividadPendiente = (BnNodeValue) object;
                    String nombreInstanciaProceso = actividadPendiente.getBnProject().getName();
                    String nombreActividad = actividadPendiente.getName();
                    projectSession.initProject(nombreInstanciaProceso);
                    String id = projectSession.getNodeProperty(nombreActividad, Constantes.Atributo.idSolicitudActividad).getTheValue();
                    int idSolicitud = 0;
                    try {
                        idSolicitud = Integer.parseInt(id);
                    } catch (NumberFormatException ex) {
                        Logger.getLogger(ListaActividadesPendientes.class.getName()).log(Level.SEVERE, null, ex);
                        continue;
                    }
                    if (idModelo.equals(Constantes.Modelo.modelo_SolicitarAyudantes) || idModelo.equals(Constantes.Modelo.modelo_SolicitarSerAyudante)) {
                        regActividad = actividadesPendientesAyudantias(idModelo, idSolicitud);
                    }
                    if (idModelo.equals(Constantes.Modelo.modelo_SolicitarCambioCarrera)) {
                        regActividad = actividadesPendientesCambioCarrera(idModelo, idSolicitud);
                    }
                    if (idModelo.equals(Constantes.Modelo.modelo_SolicitarConvalidacionMateria)) {
                        regActividad = this.actividadesPendientesConvalidacionMateria(idModelo, idSolicitud);
                    }
                    if (idModelo.equals(Constantes.Modelo.modelo_SolicitarAperturaTopico)) {
                        regActividad = this.actividadesPendientesAperturaTopico(idModelo, idSolicitud);
                    }
                    if (idModelo.equals(Constantes.Modelo.modelo_SolicitarAperturaPostgrado)) {
                        regActividad = this.actividadesPendientesAperturaPostgrado(idModelo, idSolicitud);
                    }
                    regActividad.setIdActividad(actividadPendiente.getId());
                    regActividad.setActividad(actividadPendiente.getName());
                    regActividad.setNombreInstanciaProceso(actividadPendiente.getBnProject().getName());
                    listaRgActividades.add(regActividad);
                }
            }
        } catch (HeroException ex) {
            message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Ocurrió un error no esperado, comuníquese con el adminsitrador del sistema", ex.getLocalizedMessage());
            getFacesContext().addMessage(null, message);
            Logger.getLogger(ListaActividadesPendientes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (RemoteException ex) {
            message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "No se puede conectar con el Servidor", "No se puede conectar con el Servidor");
            getFacesContext().addMessage(null, message);
            Logger.getLogger(ListaActividadesPendientes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            message = new FacesMessage(FacesMessage.SEVERITY_ERROR, ex.getLocalizedMessage(), ex.getLocalizedMessage());
            getFacesContext().addMessage(null, message);
            Logger.getLogger(ListaActividadesPendientes.class.getName()).log(Level.SEVERE, null, ex);
        }
        getDp_prueba().setListaRg_ActividadesPendientes(listaRgActividades);
    }

    private Rg_ActividadesPendientes actividadesPendientesAyudantias(String idModelo, int idSolicitud) throws SQLException {
        Solicitudayudantia solicitudAyudantia = null;
        Solicitudserayudante solicitudSerAyudante;
        Persona persona;
        Rg_ActividadesPendientes regActividad = new Rg_ActividadesPendientes();

        if (idModelo.equals(Constantes.Modelo.modelo_SolicitarAyudantes.toString())) {
            solicitudAyudantia = logica.getLogAyudantia().leerSolicitudayudantiaNivel2(idSolicitud);
            persona = solicitudAyudantia.getProfesor().getPersona();

            regActividad.setNombreModelo(idModelo + "_" + solicitudAyudantia.getFkParent());
            regActividad.setSolicitante(persona.toString());
            regActividad.setTitulo(solicitudAyudantia.toString());
            regActividad.setFechaAsignacionDeLaActividad(solicitudAyudantia.getFechamodificacion());
            return (regActividad);
        } else if (idModelo.equals(Constantes.Modelo.modelo_SolicitarSerAyudante.toString())) {
            solicitudSerAyudante = logica.getLogAyudantia().leerSolicitudserayudanteNivel2(idSolicitud);
            solicitudSerAyudante = logica.getLogAyudantia().leerSolicitudserayudanteNivel2(solicitudSerAyudante);
            persona = solicitudSerAyudante.getEstudiante().getPersona();
            regActividad.setSolicitante(persona.toString());
            regActividad.setNombreModelo(idModelo + "_" + solicitudSerAyudante.getFkParent());
            regActividad.setTitulo(solicitudSerAyudante.toString());

            regActividad.setFechaAsignacionDeLaActividad(solicitudSerAyudante.getFechamodificacion());

            return (regActividad);
        }
        return null;
    }

    private Rg_ActividadesPendientes actividadesPendientesCambioCarrera(String idModelo, int idSolicitud) throws SQLException {
        Solicitudcambiocarrera solicitudcambiocarrera = null;
        Rg_ActividadesPendientes regActividad = new Rg_ActividadesPendientes();
        solicitudcambiocarrera = logica.getLogCambioCarrera().leerSolicitudCambioNivel2(idSolicitud);
        Persona persona = solicitudcambiocarrera.getEstudiante().getPersona();
        regActividad.setSolicitante(persona.toString());
        regActividad.setTitulo(solicitudcambiocarrera.toString());
        regActividad.setNombreModelo(idModelo + "_" + solicitudcambiocarrera.getFkParent());
        regActividad.setFechaAsignacionDeLaActividad(solicitudcambiocarrera.getFechamodificacion());
        return (regActividad);
    }

    private Rg_ActividadesPendientes actividadesPendientesConvalidacionMateria(String idModelo, int idSolicitud) throws SQLException {
        Solicitudconvalidacionmateria solicitud = null;
        Rg_ActividadesPendientes regActividad = new Rg_ActividadesPendientes();
        solicitud = logica.getLogConvalidacionMateria().leerSolicitudConvalidacionNivel2(idSolicitud);
        Persona persona = solicitud.getEstudiante().getPersona();
        regActividad.setSolicitante(persona.toString());
        regActividad.setTitulo(solicitud.toString());
        regActividad.setNombreModelo(idModelo + "_" + solicitud.getFkParent());
        regActividad.setFechaAsignacionDeLaActividad(solicitud.getFechamodificacion());
        return (regActividad);
    }

    private Rg_ActividadesPendientes actividadesPendientesAperturaTopico(String idModelo, int idSolicitud) throws SQLException {
        Solicitudaperturatopico solicitud = null;
        Rg_ActividadesPendientes regActividad = new Rg_ActividadesPendientes();
        solicitud = logica.getLogAperturaTopico().leerSolicitudAperturaNivel2(idSolicitud);
        Persona persona = solicitud.getProfesor().getPersona();
        regActividad.setSolicitante(persona.toString());
        regActividad.setTitulo(solicitud.toString());
        regActividad.setNombreModelo(idModelo + "_" + solicitud.getFkParent());
        regActividad.setFechaAsignacionDeLaActividad(solicitud.getFechamodificacion());
        return (regActividad);
    }

    private Rg_ActividadesPendientes actividadesPendientesAperturaPostgrado(String idModelo, int idSolicitud) throws SQLException {
        Solicitudaperturapostgrado solicitud = null;
        Rg_ActividadesPendientes regActividad = new Rg_ActividadesPendientes();
        solicitud = logica.getLogAperturaPostgrado().leerSolicitudAperturaNivel2(idSolicitud);
        Persona persona = solicitud.getProfesor().getPersona();
        regActividad.setSolicitante(persona.toString());
        regActividad.setTitulo(solicitud.toString());
        regActividad.setNombreModelo(idModelo + "_" + solicitud.getFkParent());
        regActividad.setFechaAsignacionDeLaActividad(solicitud.getFechamodificacion());
        return (regActividad);
    }

    @Override
    public void preprocess() {
    }

    public void prerender() {
        if (getPanelIzquierdo() != null) {
            getPanelIzquierdo().miPrerender();
        }
    }

    public void destroy() {
    }

    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

    protected RequestBean1 getRequestBean1() {
        return (RequestBean1) getBean("RequestBean1");
    }

    protected SessionBean1 getSessionBean1() {
        return (SessionBean1) getBean("SessionBean1");
    }

    public void dropDown1_processValueChange(ValueChangeEvent valuechangeevent) {
    }

    private String getMessage(String string, String string0, String string1) {
        return null;
    }

    public Dp_ActividadesPendientes getDp_prueba() {
        return dp_actividadesPendientes;
    }

    public void setDp_prueba(Dp_ActividadesPendientes dp_prueba) {
        this.dp_actividadesPendientes = dp_prueba;
    }

    protected PanelIzquierdo getPanelIzquierdo() {
        return (PanelIzquierdo) getBean("plantillas$PanelIzquierdo");
    }
    private Dp_ActividadesPendientes dp_actividadesPendientes;
    private int __placeholder;
    private Page page1;
    private Html html1;
    private Head head1;
    private Link link1;
    private Body body1;
    private Form form1;
    private Object data[][] = {
        {
            "a1", "a2", "a3"
        }, {
            "a4", "a5", "a6"
        }, {
            "a7", "a8", "a9"
        }, {
            "a10", "a11", "a12"
        }, {
            "a13", "a14", "a15"
        }
    };
    private Table table1;
    private TableRowGroup tableRowGroup1;
    private TableColumn tableColumn2;
    private TableColumn tableColumn3;
    private StaticText staticText7;
    private Hyperlink hyperlink1;
    private DateTimeConverter dateTimeConverter1;

    /**
     * <p>Return a reference to the scoped data bean.</p>
     */
    protected ListaProcesosEnCurso getgeneral$ListaProcesosEnCurso() {
        return (ListaProcesosEnCurso) getBean("general$ListaProcesosEnCurso");
    }
}
